
from selenium.webdriver.common.by import By
from selenium.webdriver.ie.webdriver import WebDriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

from common.Utils import BlogDriver
#测试博客登录页面

class BlogLogin:
    url = ""
    driver = ""
    def __init__(self):
        self.url = "http://8.137.19.140:9090/blog_login.html"
        self.driver = BlogDriver.driver
        self.driver.get(self.url)
    #成功登陆的测试用例
    def LoginSucTest(self):
        self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("zhangsan")
        self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("123456")
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #能够找到博客首页用户的昵称，说明登陆成功，否则登录失败
        self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.left > div > h3")
        #添加屏幕截图
        BlogDriver.getScreeShot()
        # self.driver.quit()

        #返回到登录页面
        self.driver.back()

    #异常登录的测试用例
    def LoginFailTest(self):
        #若连续多次的send_keys则会出现关键词拼接，而不是替换，若要替换需要先clear
        self.driver.find_element(By.CSS_SELECTOR,"#username").clear()
        self.driver.find_element(By.CSS_SELECTOR, "#password").clear()

        self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("admin")
        #错误的密码
        self.driver.find_element(By.CSS_SELECTOR,"#password").send_keys("1234")
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #检查是否登陆失败
        wait = WebDriverWait(self.driver,10)
        wait.until(EC.alert_is_present())
        alert = self.driver.switch_to.alert
        actual = alert.text
        # #添加屏幕截图
        # BlogDriver.getScreeShot()
        #断言检测一下是否符合预期
        assert actual == "用户不存在"
        alert.accept()
        # self.driver.quit()

# login = BlogLogin()
# # login.LoginSucTest()
# login.LoginFailTest()